Overview
This node executes parameterized SQL queries against an Oracle Database. It allows users to run any SQL statement, including SELECT, INSERT, UPDATE, or DELETE, with support for binding parameters safely to avoid SQL injection and handle dynamic values.
Common scenarios include:
- Retrieving data from Oracle tables with complex WHERE clauses.
- Inserting or updating records using parameterized inputs.
- Executing batch operations where some parameters may be lists (e.g., filtering with IN statements).
Practical example:
- Querying products with IDs less than a certain value by passing that value as a parameter.
- Running a query with an IN clause where the list of values is dynamically provided as a comma-separated string.
Properties
| Name | Meaning |
|---|---|
| SQL Statement | The SQL query to execute. Supports parameter placeholders prefixed with : (e.g., :param_name). |
| Parameters | A collection of named parameters to bind to the SQL query. Each parameter includes: - Name: The parameter name without the leading colon. - Value: The value to bind. - Data Type: Either String or Number. - Parse for IN statement: If "Yes", treats the value as a comma-separated list and expands it into multiple bind variables for use in an IN clause. |
Output
The node outputs an array of JSON objects representing the rows returned by the executed SQL query. Each object corresponds to a row, with keys matching the column names.
If the query does not return rows (e.g., an INSERT or UPDATE), the output will be an empty array.
No binary data output is produced by this node.
Dependencies
- Requires an Oracle Database connection configured via credentials containing user, password, and connection string.
- Uses the official OracleDB Node.js driver (
oracledbpackage). - Requires n8n credentials setup for Oracle authentication.
- No additional environment variables are explicitly required beyond standard Oracle connection details.
Troubleshooting
- Connection errors: Ensure the Oracle credentials (user, password, connection string) are correct and the database is reachable.
- SQL syntax errors: Verify the SQL statement syntax and parameter placeholders match the parameter names exactly (without the colon prefix).
- Parameter binding issues:
- Parameter names must not start with a colon.
- Data types must be correctly set to "String" or "Number".
- When using "Parse for IN statement" option, ensure the value is a comma-separated string without spaces unless intended.
- Resource cleanup warnings: If the node logs failure to close the database connection, check network stability and Oracle client configuration.
- Unsupported features: This node does not support returning binary data or LOBs directly.